package entidades;

import java.sql.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;

@Entity
public class Administrador extends Usuario {
    private static final long serialVersionUID = 1L;
    @Column(nullable = false)
    private int numeroTrabajador;

    @OneToMany()
    @JoinColumn
    private List<Usuario> usuario;

    public Administrador(){
        
    }
    
    public Administrador(String dni, String password, String nombre, String apellidos, Date fechaNacimiento, String email, String telefono,
           int numeroTrabajador) {
        setDni(dni);
        setPassword(password);
        setNombre(nombre);
        setApellidos(apellidos);
        setFechaNacimiento(fechaNacimiento);
        setEmail(email);
        setTelefono(telefono);
        this.numeroTrabajador = numeroTrabajador;
    }
    
    public int getNumeroTrabajador() {
        return numeroTrabajador;
    }

    public void setNumeroTrabajador(int numeroTrabajador) {
        this.numeroTrabajador = numeroTrabajador;
    }

    public List<Usuario> getUsuario() {
        return usuario;
    }

    public void setUsuario(List<Usuario> usuario) {
        this.usuario = usuario;
    }
    
    @Override
    public int hashCode() {
        int hash = 7;
        hash = 17 * hash + this.numeroTrabajador;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Administrador other = (Administrador) obj;
        if (this.numeroTrabajador != other.numeroTrabajador) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Administrador{" + "numeroTrabajador=" + numeroTrabajador + '}';
    }
}
